//  强类型的优势  

// 强类型语言的编辑器时时刻刻都知道变量的类型
// 提供更智能的准确提示
// function render (element){
//     element.className = 'container',
//     element.innerHtml = 'hello word'
// }  

// ---------------------------------------
// 代码修改后，没有提示，在其他被引用的地方可能会出错
// 重构更牢靠   
// const util = {
//     aaa: ()=>{ // 当重新定义aaa的方法名称后，强类型语言能够准确得知道哪里被使用到并一起修改
//         console.log('aaa')
//     }
// }  


// -------------------------------------
// 减少不必要的类型判断

function sum (a, b) {
    if(typeof a !== 'number' || typeof b !== 'number'){
        throw new TypeError('arguments must be a  number')
    }
    return a + b
}